home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / src / stefanb_src.lha / UMS / Rexx / SetUMSConfig.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1996-02-24  |  2.3 KB  |  115 lines

  1. /* ------------------------------------------------------------------------
  2.    :Program.    SetUMSConfig.rexx
  3.    :Contents.   writes a variable UMS' config
  4.    :Author.     Kai Bolay [kai]
  5.    :Address.    Hoffmannstraße 168
  6.    :Address.    D-71229 Leonberg        
  7.    :EMail.      kai@studbox.uni-stuttgart.de
  8.    :Version.    $VER: SetUMSConfig.rexx 1.0 (14.9.95)
  9.    :Copyright.  Public Domain
  10.    :Language.   ARexx
  11.    :Translator. RexxMast
  12.    
  13. $Id: SetUMSConfig.rexx 1.0 1995/11/11 12:10:05 kai Exp $
  14. $Log: SetUMSConfig.rexx $
  15. # Revision 1.0  1995/11/11  12:10:05  kai
  16. # Initial revision
  17. #
  18.  
  19. ------------------------------------------------------------------------ */
  20.  
  21. options results
  22.  
  23. signal on BREAK_C
  24. signal on BREAK_D
  25. signal on BREAK_E
  26. signal on BREAK_F
  27. signal on ERROR
  28. signal on HALT
  29. signal on IOERR
  30. signal on SYNTAX
  31.  
  32. /*** Init ***/
  33.  
  34. call addlib("rexxdossupport.library", 0, -30)
  35. call addlib("ums.library", 0, -210, 11)
  36. call UMSInitConsts()
  37.  
  38. /*** Arguments ***/
  39.  
  40. parse SOURCE . " " . " " ProgramName .
  41. ArgsTemplate = "NAME/A,PASSWORD,SERVER/K,VARIABLE/A,DATA,USER,GLOBAL/S,LOCAL/S,QUOTED/S"
  42. args.SERVER = ""
  43. args.PASSWORD = ""
  44. args.USER = ""
  45.  
  46. parse arg arguments
  47. if strip(arguments) = '?' then do
  48.   call writech(STDOUT, ArgsTemplate || ': ')
  49.   arguments = readln(STDIN)
  50. end; else nop
  51. if ~ReadArgs(arguments,ArgsTemplate,"args.") then do
  52.   say Fault(RC, ProgramName)
  53.   exit 10
  54. end; else nop
  55.  
  56. /*** Login ***/
  57.  
  58. account = UMSLogin(args.name, args.password, args.server)
  59. if account = 0 then do
  60.   say "unable to login."
  61.   exit 10
  62. end
  63.  
  64. /*** Do the magic ***/
  65.  
  66. if ~(symbol("args."data) = "VAR") then do
  67.   res = UMSWriteConfig(account,args.variable,,args.user,args.global,args.local,args.quoted)
  68. end; else do
  69.   res = UMSWriteConfig(account,args.variable,args.data,args.user,args.global,args.local,args.quoted)
  70. end
  71.  
  72. if ~res then do
  73.   call CheckErr
  74.   RC = 20; call LOGOUT
  75. end
  76.  
  77. /*** Final cleanup ***/
  78.  
  79. BREAK_C:
  80. BREAK_D:
  81. BREAK_E:
  82. BREAK_F:
  83.  
  84. RC = 0
  85.  
  86. ERROR:
  87. HALT:
  88. IOERR:
  89. SYNTAX:
  90.  
  91. IF RC ~= 0 THEN DO
  92.   SAY "Error: " rc errortext(rc) "Line" sigl
  93.   RC = 20
  94. END
  95.  
  96. /*** Logout ***/
  97.  
  98. LOGOUT:
  99.  
  100. if account ~= 0 then do
  101.   call UMSLogout(account)
  102.   account = 0
  103. end
  104.  
  105. exit RC
  106.  
  107. /*** Support ***/
  108.  
  109. CheckErr: procedure expose account
  110.   err = UMSErrNum(account)
  111.   if err ~= 0 then do
  112.     say "UMS Error #" || err || ": " || UMSErrTxt(account)
  113.   end
  114. return
  115.